home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cug232 / array.st < prev    next >
Text File  |  1987-06-17  |  768b  |  32 lines

  1. Class Array :ArrayedCollection
  2. [
  3.     new: aValue
  4.         ^ <NewArray aValue>
  5. |
  6.     at: aNumber
  7.         ( (aNumber < 1) or: [aNumber > <Size self> ] )
  8.             ifTrue: [ self error: 'index error'. ^nil ].
  9.         ^ <At self aNumber >
  10. |
  11.     at: aNumber put: aValue
  12.         ( (aNumber < 1) or: [aNumber > <Size self> ] )
  13.             ifTrue: [ self error: 'index error'. ^nil ].
  14.         <AtPut self aNumber aValue >.
  15.         ^ aValue
  16. |
  17.     grow: newObject
  18.         ^ <Grow self newObject>
  19. |
  20.     printString        | value i |
  21.         value <- ')'.
  22.         i <- <Size self>.
  23.         [i > 0] whileTrue:
  24.             [ value <- <At self i>  printString ,
  25.                     ' ', value.
  26.                     i <- i - 1].
  27.         ^ '#( ' , value
  28. |
  29.     size
  30.         ^ <Size self>
  31. ]
  32.